{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import matplotlib.patches as mpatches\n",
    "import matplotlib.path as mpath"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x87bcfd0>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nmJxkSQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.arange(5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "center = 3\n",
    "left = right = 1\n",
    "top = bottom = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = [center-left, center-left, center+right, center+right]\n",
    "y = [center-bottom,center+top, center-bottom,  center+top]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x8835978>]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAADuVJREFUeJzt3X+s3XV9x/Hni7ZALc5SubDa4sCk\nQdAJjJsOw5YoKnRKbE3A6NT0jybNEpfg5lAwSzYXXWQk/shmoo0Y6+IPSAVp+EPWVAhzccit/LaQ\nYodYWmkdFGFDRst7f9xvbVfv5Z5zf/Xuc56PpDnn+73fb8+HTzjP+833nO+3qSokSW057lgPQJI0\n/Yy7JDXIuEtSg4y7JDXIuEtSg4y7JDVofi8bJXkMeBY4CByoquEkS4AbgDOAx4D3VtXTMzNMSVI/\n+jlyf2tVnVdVw93y1cDWqloBbO2WJUlzwFROy6wGNnbPNwJrpj4cSdJ0SC9XqCb5D+BpoIAvV9WG\nJPuravER2zxdVSePse96YD3AokWLLnj9618/bYOXpEGwbdu2X1bVUD/79HTOHbioqnYnORXYkuTh\nXl+gqjYAGwCGh4drZGSkn/FJ0sBL8rN+9+nptExV7e4e9wI3AyuBJ5Ms7V54KbC33xeXJM2MCeOe\nZFGSVx56DlwCPAhsBtZ2m60FbpmpQUqS+tPLaZnTgJuTHNr+m1X1vSR3AzcmWQc8Dlwxc8OUJPVj\nwrhX1U7g3DHW/yfwtpkYlCRparxCVZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHG\nXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIa\nZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwl\nqUHGXZIa1HPck8xLck+SW7vlM5PclWRHkhuSHD9zw5Qk9aOfI/crge1HLF8LfK6qVgBPA+umc2CS\npMnrKe5JlgPvAr7SLQe4GNjUbbIRWDMTA5Qk9a/XI/fPAx8DXuqWXw3sr6oD3fIuYNlYOyZZn2Qk\nyci+ffumNFhJUm8mjHuSy4C9VbXtyNVjbFpj7V9VG6pquKqGh4aGJjlMSVI/5vewzUXAu5O8EzgR\n+B1Gj+QXJ5nfHb0vB3bP3DAlSf2Y8Mi9qq6pquVVdQbwPuD7VfUB4Hbg8m6ztcAtMzZKSVJfpvI9\n948Df5nkUUbPwV8/PUOSJE1VL6dlfqOq7gDu6J7vBFZO/5AkSVPlFaqS1CDjLkkNMu6S1CDjLkkN\nMu6S1CDjLkkNMu6S1CDjLkkNMu6S1CDjLkkNMu6S1CDjLkkNMu6S1CDjLkkNMu6S1CDjLkkNMu6S\n1CDjLkkNMu6S1CDjLkkNMu6S1CDjLkkNMu6S1CDjLkkNMu6S1CDjLkkNMu6S1CDjLkkNMu6S1CDj\nLkkNMu6S1CDjLkkNMu6S1CDjLkkNmjDuSU5M8qMk9yV5KMknu/VnJrkryY4kNyQ5fuaHK0nqRS9H\n7i8AF1fVucB5wKokFwLXAp+rqhXA08C6mRumJKkfE8a9Rj3XLS7o/hRwMbCpW78RWDMjI5Qk9a2n\nc+5J5iW5F9gLbAF+CuyvqgPdJruAZePsuz7JSJKRffv2TceYJUkT6CnuVXWwqs4DlgMrgbPH2myc\nfTdU1XBVDQ8NDU1+pJKknvX1bZmq2g/cAVwILE4yv/vRcmD39A5NkjRZvXxbZijJ4u75QuDtwHbg\nduDybrO1wC0zNUhJUn/mT7wJS4GNSeYx+svgxqq6NclPgG8n+RRwD3D9DI5TktSHCeNeVfcD54+x\nfiej598lSXOMV6hKUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhL\nUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOM\nuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoMmjHuS\n05PcnmR7koeSXNmtX5JkS5Id3ePJMz9cSVIvejlyPwB8tKrOBi4EPpzkHOBqYGtVrQC2dsuSpDlg\nwrhX1Z6q+nH3/FlgO7AMWA1s7DbbCKyZqUFKkvrT1zn3JGcA5wN3AadV1R4Y/QUAnDrOPuuTjCQZ\n2bdv39RGK0nqSc9xT3IS8B3gI1X1q173q6oNVTVcVcNDQ0OTGaMkqU89xT3JAkbD/o2quqlb/WSS\npd3PlwJ7Z2aIkqR+9fJtmQDXA9ur6rNH/GgzsLZ7vha4ZfqHJ0majPk9bHMR8CHggST3dus+AXwG\n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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.axis([0, 50, 0, 50]) # 控制坐标范围\n",
    "#plt.axis('image')\n",
    "plt.scatter(x, y)\n",
    "plt.plot(np.arange(5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, (ax, ax1) = plt.subplots(1, 2, sharex=True, sharey=True)\n",
    "ax.axis([0, 40, 0, 40])\n",
    "#ax.axis('equal') #设置图形显示的时候x轴和y轴等比例, 将忽略前面设置的坐标范围\n",
    "rectangle = mpatches.Rectangle((1, 3), 3, 3, color='y') # 矩形\n",
    "rectangle_patch = mpatches.Rectangle((1+0.5, 3+0.5), 2, 2, color='r')\n",
    "ax.add_patch(rectangle)\n",
    "ax.add_patch(rectangle)\n",
    "ax.add_patch(rectangle_patch)\n",
    "ax.grid()\n",
    "ax1.grid()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nqZ2wAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''\n",
    "    base 是基础坐标，向右向上扩展\n",
    "    num_right 向右扩展的个数\n",
    "    num_up 向上扩展的个数\n",
    "''' \n",
    "def park_position(base_car_x, base_car_y, pair, base=[1, 1], num_right=10, num_up=10 ):\n",
    "    fig, ax = plt.subplots()\n",
    "    ax.axis([0, 50, 0, 50])\n",
    "    #plt.axis([0, 50, 0, 50])\n",
    "    base_x, base_y = 1, 1\n",
    "    for i in range(num_right):\n",
    "        for j in range(num_up):\n",
    "            rectangle = mpatches.Rectangle((base_x, base_y), 3, 3, color='y')\n",
    "            c = ax.add_patch(rectangle)\n",
    "            base_x += 4\n",
    "            \n",
    "        base_x = 1\n",
    "        base_y +=4\n",
    "    ax.grid()\n",
    "#     fig_car, ax_car = plt.subplots()\n",
    "    # 增加平板车\n",
    "    car_rectangle = mpatches.Rectangle((base_car_x+0.5, base_car_y+0.5), 2, 2, color='r')\n",
    "    ax.add_patch(car_rectangle)\n",
    "    \n",
    "    car_rectangle = mpatches.Rectangle((base_car_x+4.5, base_car_y+4.5), 2, 2, color='r')\n",
    "    ax.add_patch(car_rectangle)\n",
    "    \n",
    "    \n",
    "    # 根据轨迹点得到轨迹图\n",
    "    for i in range(len(pair)-1):\n",
    "        try:\n",
    "            #ax.lines.remove(lines[0])\n",
    "            pass\n",
    "        except Exception:\n",
    "            pass\n",
    "        lines = ax.plot(pair[i], pair[i+1])\n",
    "        \n",
    "        #plt.pause(0.5)\n",
    "    \n",
    "    plt.show()\n",
    "\n",
    "pair = [[1, 5], [5, 5], [10, 5], [10, 10]]\n",
    "park_position(5, 5, pair)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.subplots()\n",
    "plt.ion()\n",
    "pair = [[1, 5], [5, 5], [10, 5], [10, 10]]\n",
    "# 根据轨迹点得到轨迹图\n",
    "for i in range(len(pair)-1):\n",
    "    try:\n",
    "        ax.lines.remove(lines[0])\n",
    "        pass\n",
    "    except Exception:\n",
    "        pass\n",
    "    lines = ax.plot(pair[i], pair[i+1])\n",
    "\n",
    "    plt.pause(0.5)\n",
    "# plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x259fcae0f28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 共享子坐标轴\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "t = np.arange(0.01, 5.0, 0.01)\n",
    "s1 = np.sin(2*np.pi*t)\n",
    "s2 = np.exp(-t)\n",
    "s3 = np.sin(4*np.pi*t)\n",
    "\n",
    "ax1 = plt.subplot(311)\n",
    "plt.plot(t, s1)\n",
    "plt.setp(ax1.get_xticklabels(), fontsize=6)\n",
    "\n",
    "# share x only\n",
    "ax2 = plt.subplot(312, sharex=ax1)\n",
    "plt.plot(t, s2)\n",
    "# make these tick labels invisible\n",
    "plt.setp(ax2.get_xticklabels(), visible=False)\n",
    "\n",
    "# share x and y\n",
    "ax3 = plt.subplot(313, sharex=ax1, sharey=ax1)\n",
    "plt.plot(t, s3)\n",
    "plt.xlim(0.01, 5.0)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Making movie animation.mpg - this may take a while\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x259fe000128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import os\n",
    "import subprocess\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "# Fixing random state for reproducibility\n",
    "np.random.seed(19680801)\n",
    "\n",
    "\n",
    "files = []\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(5, 5))\n",
    "for i in range(50):  # 50 frames\n",
    "    plt.cla()\n",
    "    plt.imshow(np.random.rand(5, 5), interpolation='nearest')\n",
    "    fname = '_tmp%03d.png' % i\n",
    "    #print('Saving frame', fname)\n",
    "    plt.savefig(fname)\n",
    "    files.append(fname)\n",
    "\n",
    "print('Making movie animation.mpg - this may take a while')\n",
    "subprocess.call(\"mencoder 'mf://_tmp*.png' -mf type=png:fps=10 -ovc lavc \"\n",
    "                \"-lavcopts vcodec=wmv2 -oac copy -o animation.mpg\", shell=True)\n",
    "\n",
    "# cleanup\n",
    "for fname in files:\n",
    "    os.remove(fname)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x259fcca5d68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from matplotlib.path import Path\n",
    "from matplotlib.patches import PathPatch\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "vertices = []\n",
    "codes = []\n",
    "\n",
    "codes = [Path.MOVETO] + [Path.LINETO]*3 + [Path.CLOSEPOLY]\n",
    "vertices = [(1, 1), (1, 2), (2, 2), (2, 1), (0, 0)]\n",
    "\n",
    "codes += [Path.MOVETO] + [Path.LINETO]*2 + [Path.CLOSEPOLY]\n",
    "vertices += [(4, 4), (5, 5), (5, 4), (0, 0)]\n",
    "\n",
    "vertices = np.array(vertices, float)\n",
    "path = Path(vertices, codes)\n",
    "\n",
    "pathpatch = PathPatch(path, facecolor='None', edgecolor='green')\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "ax.add_patch(pathpatch)\n",
    "ax.set_title('A compound path')\n",
    "\n",
    "ax.dataLim.update_from_data_xy(vertices)\n",
    "ax.autoscale_view()\n",
    "\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.Figure()\n",
    "#ax1 = fig.add_axes([0.1, 0.1, 0.2, 0.2])\n",
    "pair = [[0, 1], [1, 1], [2, 1], [2, 2]]\n",
    "for i in range(len(pair)-1):\n",
    "    plt.plot(pair[i], pair[i+1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 193,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2598624b208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(1, 1, 1)\n",
    "t1 = np.arange(0.0, 1.0, 0.01)\n",
    "for n in [1, 2, 3, 4]:\n",
    "    try:\n",
    "        ax.lines.remove(lines[0])\n",
    "        \n",
    "    except Exception:\n",
    "        pass\n",
    "    lines = ax.plot(t1, t1**n, label=\"n=%d\"%(n,))\n",
    "#     plt.pause(0.5)\n",
    "\n",
    "# leg = plt.legend(loc='best', ncol=2, mode=\"expand\", shadow=True, fancybox=True)\n",
    "# leg.get_frame().set_alpha(0.5)\n",
    "\n",
    "plt.pause(0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 220,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x25989151dd8>"
      ]
     },
     "execution_count": 220,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x25989080588>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(0, 2*np.pi, 400)\n",
    "y = np.sin(x**2)\n",
    "f, (ax1, ax2) = plt.subplots(1, 2, sharey=True, sharex=True)\n",
    "ax1.plot(x, y)\n",
    "ax1.set_title('Sharing Y axis')\n",
    "ax2.scatter(x, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 221,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x25989166e48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''\n",
    "    base 是基础坐标，向右向上扩展\n",
    "    num_right 向右扩展的个数\n",
    "    num_up 向上扩展的个数\n",
    "    pair: 轨迹坐标对\n",
    "    base_car_x\n",
    "'''\n",
    "def park_position(base_car, pair, base=[1, 1], num_right=10, num_up=10):\n",
    "    fig, ax = plt.subplots()\n",
    "    ax.axis([0, 50, 0, 50])\n",
    "    # plt.axis([0, 50, 0, 50])\n",
    "    ax.set_title(\"car parking\")\n",
    "    ax.set_xlabel(\"x\")\n",
    "    ax.set_ylabel(\"y\")\n",
    "\n",
    "    # 画出停车位\n",
    "    base_x, base_y = 1, 1\n",
    "    for i in range(num_right):\n",
    "        for j in range(num_up):\n",
    "            rectangle = mpatches.Rectangle((base_x, base_y), 3, 3, color='y')\n",
    "            c = ax.add_patch(rectangle)\n",
    "            base_x += 4\n",
    "        base_x = 1\n",
    "        base_y += 4\n",
    "    ax.grid()\n",
    "\n",
    "    # 增加平板车\n",
    "    base_car_x, base_car_y = base_car[0], base_car[1]\n",
    "    # car_rectangle = mpatches.Rectangle((base_car_x + 0.5, base_car_y + 0.5), 2, 2, color='r')\n",
    "    # ax.add_patch(car_rectangle)\n",
    "    # 移动平板小车\n",
    "    for i in range(3):\n",
    "        plt.pause(0.5)\n",
    "        try:\n",
    "            car_rectangle.set_visible(False)\n",
    "            # ax.lines.remove(lines[0])\n",
    "            pass\n",
    "        except Exception:\n",
    "            pass\n",
    "        car_rectangle = mpatches.Rectangle((base_car_x + 3*i + 0.5, base_car_y+ 3*i + 0.5), 2, 2, color='r')\n",
    "        lines = ax.plot(pair[i], pair[i + 1])\n",
    "        ax.add_patch(car_rectangle)\n",
    "        plt.pause(0.5)\n",
    "\n",
    "    # 根据轨迹点得到轨迹图\n",
    "    # for i in range(len(pair) - 1):\n",
    "    #     plt.pause(0.5)\n",
    "    #     try:\n",
    "    #         ax.lines.remove(lines[0])\n",
    "    #         pass\n",
    "    #     except Exception:\n",
    "    #         pass\n",
    "    #     lines = ax.plot(pair[i], pair[i + 1])\n",
    "    #     plt.pause(0.5)\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "pair = [[1, 5], [5, 5], [10, 5], [10, 10]]\n",
    "park_position([5, 5], pair)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 232,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\gxs\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:7: MatplotlibDeprecationWarning: axes.hold is deprecated.\n",
      "    See the API Changes document (http://matplotlib.org/api/api_changes.html)\n",
      "    for more details.\n",
      "  import sys\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2598a62e6a0>"
      ]
     },
     "execution_count": 232,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2598a5bc908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x1=np.arange(0,5,0.1)  \n",
    "y1=np.sin(x1)  \n",
    "x2=np.linspace(1,10,20,True)  \n",
    "y2=np.cos(x2) \n",
    "fig, ax = plt.subplots()\n",
    "line1 = ax.scatter(x1, y1, s=10, c='b', marker='o', label='test plot 1')  \n",
    "ax.hold(True)\n",
    "line2 = ax.scatter(x2, y2, s=5, c='r', marker='^', label='test plot 2')  \n",
    "ax.legend((line1, line2),('label1', 'label2'),fontsize='xx-large')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "from random import *\n",
    "from time import *\n",
    "from datetime import time\n",
    "import time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1451577600.0"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "date1 = (2016,1,1,0,0,0,-1,-1,-1)\n",
    "time1 = mktime(date1)\n",
    "time1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function mktime in module time:\n",
      "\n",
      "mktime(...)\n",
      "    mktime(tuple) -> floating point number\n",
      "    \n",
      "    Convert a time tuple in local time to seconds since the Epoch.\n",
      "    Note that mktime(gmtime(0)) will not generally return zero for most\n",
      "    time zones; instead the returned value will either be equal to that\n",
      "    of the timezone or altzone attributes on the time module.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(mktime)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "time1 = time.time()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "time2 = time.time()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "random_time = uniform(time1,time2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1534594344.0298176"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "random_time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Sat Aug 18 20:12:24 2018'"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "asctime(localtime(random_time))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "pause_second = np.random.randint(60, 60*5, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "244"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pause_second[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'in'"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "flag_rand = np.random.randint(0, 2, 1)[0]\n",
    "flag = ['in' if flag_rand == 0 else 'out'][0]\n",
    "flag"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.randint(1, 2.0*50 / 10.0, 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array([5, 6]) in np.array([[6, 7]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [],
   "source": [
    "fig_dict = {}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'key': {'key': 12}, 'key2': 'value'}"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fig_dict.update({'key': {'key': 12}})\n",
    "fig_dict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'cccc_a_b'"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = 'a'\n",
    "b = 'b'\n",
    "c = 'cccc_%s_%s' % (a, b)\n",
    "c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "import utils"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "too many values to unpack (expected 2)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-13-0f8e3259a77e>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;32mglobal\u001b[0m \u001b[0mfig_dicts\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mfig_dicts\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcost\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mutils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minit_figure\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      3\u001b[0m \u001b[0mfig_dicts\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mValueError\u001b[0m: too many values to unpack (expected 2)"
     ]
    }
   ],
   "source": [
    "global fig_dicts\n",
    "fig_dicts, cost = utils.init_figure()\n",
    "fig_dicts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'position_0_0': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 20.0,\n",
       "   'cost_total_9_9': 24.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 4.0,\n",
       "  'node_info': 'root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_0_1': {'cost_distance': {'cost_total_0_9': 13.0,\n",
       "   'cost_total_5_9': 18.0,\n",
       "   'cost_total_9_9': 22.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_0_2': {'cost_distance': {'cost_total_0_9': 12.0,\n",
       "   'cost_total_5_9': 17.0,\n",
       "   'cost_total_9_9': 21.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_0_3': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 16.0,\n",
       "   'cost_total_9_9': 20.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_0_4': {'cost_distance': {'cost_total_0_9': 10.0,\n",
       "   'cost_total_5_9': 15.0,\n",
       "   'cost_total_9_9': 19.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_0_5': {'cost_distance': {'cost_total_0_9': 10.0,\n",
       "   'cost_total_5_9': 15.0,\n",
       "   'cost_total_9_9': 19.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 4.0,\n",
       "  'node_info': 'root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_0_6': {'cost_distance': {'cost_total_0_9': 8.0,\n",
       "   'cost_total_5_9': 13.0,\n",
       "   'cost_total_9_9': 17.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_0_7': {'cost_distance': {'cost_total_0_9': 7.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 16.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_0_8': {'cost_distance': {'cost_total_0_9': 6.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_0_9': {'cost_distance': {'cost_total_0_9': 6.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 4.0,\n",
       "  'node_info': 'root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_0': {'cost_distance': {'cost_total_0_9': 14.0,\n",
       "   'cost_total_5_9': 17.0,\n",
       "   'cost_total_9_9': 21.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_1': {'cost_distance': {'cost_total_0_9': 14.0,\n",
       "   'cost_total_5_9': 17.0,\n",
       "   'cost_total_9_9': 21.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_2': {'cost_distance': {'cost_total_0_9': 12.0,\n",
       "   'cost_total_5_9': 15.0,\n",
       "   'cost_total_9_9': 19.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_3': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 18.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_4': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 18.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_5': {'cost_distance': {'cost_total_0_9': 9.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 16.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_6': {'cost_distance': {'cost_total_0_9': 8.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_7': {'cost_distance': {'cost_total_0_9': 8.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_8': {'cost_distance': {'cost_total_0_9': 6.0,\n",
       "   'cost_total_5_9': 9.0,\n",
       "   'cost_total_9_9': 13.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_1_9': {'cost_distance': {'cost_total_0_9': 5.0,\n",
       "   'cost_total_5_9': 8.0,\n",
       "   'cost_total_9_9': 12.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_0': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 16.0,\n",
       "   'cost_total_9_9': 20.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_1': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 16.0,\n",
       "   'cost_total_9_9': 20.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_2': {'cost_distance': {'cost_total_0_9': 13.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 18.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_3': {'cost_distance': {'cost_total_0_9': 12.0,\n",
       "   'cost_total_5_9': 13.0,\n",
       "   'cost_total_9_9': 17.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_4': {'cost_distance': {'cost_total_0_9': 12.0,\n",
       "   'cost_total_5_9': 13.0,\n",
       "   'cost_total_9_9': 17.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_5': {'cost_distance': {'cost_total_0_9': 10.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_6': {'cost_distance': {'cost_total_0_9': 9.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 14.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_7': {'cost_distance': {'cost_total_0_9': 9.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 14.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_8': {'cost_distance': {'cost_total_0_9': 7.0,\n",
       "   'cost_total_5_9': 8.0,\n",
       "   'cost_total_9_9': 12.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_2_9': {'cost_distance': {'cost_total_0_9': 6.0,\n",
       "   'cost_total_5_9': 7.0,\n",
       "   'cost_total_9_9': 11.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_0': {'cost_distance': {'cost_total_0_9': 16.0,\n",
       "   'cost_total_5_9': 15.0,\n",
       "   'cost_total_9_9': 19.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_1': {'cost_distance': {'cost_total_0_9': 16.0,\n",
       "   'cost_total_5_9': 15.0,\n",
       "   'cost_total_9_9': 19.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_2': {'cost_distance': {'cost_total_0_9': 14.0,\n",
       "   'cost_total_5_9': 13.0,\n",
       "   'cost_total_9_9': 17.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_3': {'cost_distance': {'cost_total_0_9': 13.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 16.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_4': {'cost_distance': {'cost_total_0_9': 13.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 16.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_5': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 14.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_6': {'cost_distance': {'cost_total_0_9': 10.0,\n",
       "   'cost_total_5_9': 9.0,\n",
       "   'cost_total_9_9': 13.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_7': {'cost_distance': {'cost_total_0_9': 10.0,\n",
       "   'cost_total_5_9': 9.0,\n",
       "   'cost_total_9_9': 13.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_8': {'cost_distance': {'cost_total_0_9': 8.0,\n",
       "   'cost_total_5_9': 7.0,\n",
       "   'cost_total_9_9': 11.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_3_9': {'cost_distance': {'cost_total_0_9': 7.0,\n",
       "   'cost_total_5_9': 6.0,\n",
       "   'cost_total_9_9': 10.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_0': {'cost_distance': {'cost_total_0_9': 17.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 18.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_1': {'cost_distance': {'cost_total_0_9': 17.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 18.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_2': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 16.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_3': {'cost_distance': {'cost_total_0_9': 14.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_4': {'cost_distance': {'cost_total_0_9': 14.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_5': {'cost_distance': {'cost_total_0_9': 12.0,\n",
       "   'cost_total_5_9': 9.0,\n",
       "   'cost_total_9_9': 13.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_6': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 8.0,\n",
       "   'cost_total_9_9': 12.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_7': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 8.0,\n",
       "   'cost_total_9_9': 12.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_8': {'cost_distance': {'cost_total_0_9': 9.0,\n",
       "   'cost_total_5_9': 6.0,\n",
       "   'cost_total_9_9': 10.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_4_9': {'cost_distance': {'cost_total_0_9': 8.0,\n",
       "   'cost_total_5_9': 5.0,\n",
       "   'cost_total_9_9': 9.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_0': {'cost_distance': {'cost_total_0_9': 20.0,\n",
       "   'cost_total_5_9': 15.0,\n",
       "   'cost_total_9_9': 19.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 4.0,\n",
       "  'node_info': 'root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_1': {'cost_distance': {'cost_total_0_9': 18.0,\n",
       "   'cost_total_5_9': 13.0,\n",
       "   'cost_total_9_9': 17.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_2': {'cost_distance': {'cost_total_0_9': 17.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 16.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_3': {'cost_distance': {'cost_total_0_9': 16.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_4': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 14.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_5': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 14.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 4.0,\n",
       "  'node_info': 'root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_6': {'cost_distance': {'cost_total_0_9': 13.0,\n",
       "   'cost_total_5_9': 8.0,\n",
       "   'cost_total_9_9': 12.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_7': {'cost_distance': {'cost_total_0_9': 12.0,\n",
       "   'cost_total_5_9': 7.0,\n",
       "   'cost_total_9_9': 11.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_8': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 6.0,\n",
       "   'cost_total_9_9': 10.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_5_9': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 6.0,\n",
       "   'cost_total_9_9': 10.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 4.0,\n",
       "  'node_info': 'root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_0': {'cost_distance': {'cost_total_0_9': 19.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 16.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_1': {'cost_distance': {'cost_total_0_9': 19.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 16.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_2': {'cost_distance': {'cost_total_0_9': 17.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 14.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_3': {'cost_distance': {'cost_total_0_9': 16.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 13.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_4': {'cost_distance': {'cost_total_0_9': 16.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 13.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_5': {'cost_distance': {'cost_total_0_9': 14.0,\n",
       "   'cost_total_5_9': 9.0,\n",
       "   'cost_total_9_9': 11.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_6': {'cost_distance': {'cost_total_0_9': 13.0,\n",
       "   'cost_total_5_9': 8.0,\n",
       "   'cost_total_9_9': 10.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_7': {'cost_distance': {'cost_total_0_9': 13.0,\n",
       "   'cost_total_5_9': 8.0,\n",
       "   'cost_total_9_9': 10.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_8': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 6.0,\n",
       "   'cost_total_9_9': 8.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_6_9': {'cost_distance': {'cost_total_0_9': 10.0,\n",
       "   'cost_total_5_9': 5.0,\n",
       "   'cost_total_9_9': 7.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_0': {'cost_distance': {'cost_total_0_9': 20.0,\n",
       "   'cost_total_5_9': 15.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_1': {'cost_distance': {'cost_total_0_9': 20.0,\n",
       "   'cost_total_5_9': 15.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_2': {'cost_distance': {'cost_total_0_9': 18.0,\n",
       "   'cost_total_5_9': 13.0,\n",
       "   'cost_total_9_9': 13.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_3': {'cost_distance': {'cost_total_0_9': 17.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 12.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_4': {'cost_distance': {'cost_total_0_9': 17.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 12.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_5': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 10.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_6': {'cost_distance': {'cost_total_0_9': 14.0,\n",
       "   'cost_total_5_9': 9.0,\n",
       "   'cost_total_9_9': 9.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_7': {'cost_distance': {'cost_total_0_9': 14.0,\n",
       "   'cost_total_5_9': 9.0,\n",
       "   'cost_total_9_9': 9.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_8': {'cost_distance': {'cost_total_0_9': 12.0,\n",
       "   'cost_total_5_9': 7.0,\n",
       "   'cost_total_9_9': 7.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_7_9': {'cost_distance': {'cost_total_0_9': 11.0,\n",
       "   'cost_total_5_9': 6.0,\n",
       "   'cost_total_9_9': 6.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_0': {'cost_distance': {'cost_total_0_9': 21.0,\n",
       "   'cost_total_5_9': 16.0,\n",
       "   'cost_total_9_9': 14.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_1': {'cost_distance': {'cost_total_0_9': 21.0,\n",
       "   'cost_total_5_9': 16.0,\n",
       "   'cost_total_9_9': 14.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_2': {'cost_distance': {'cost_total_0_9': 19.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 12.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_3': {'cost_distance': {'cost_total_0_9': 18.0,\n",
       "   'cost_total_5_9': 13.0,\n",
       "   'cost_total_9_9': 11.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_4': {'cost_distance': {'cost_total_0_9': 18.0,\n",
       "   'cost_total_5_9': 13.0,\n",
       "   'cost_total_9_9': 11.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_5': {'cost_distance': {'cost_total_0_9': 16.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 9.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_6': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 8.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_7': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 8.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_8': {'cost_distance': {'cost_total_0_9': 13.0,\n",
       "   'cost_total_5_9': 8.0,\n",
       "   'cost_total_9_9': 6.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_8_9': {'cost_distance': {'cost_total_0_9': 12.0,\n",
       "   'cost_total_5_9': 7.0,\n",
       "   'cost_total_9_9': 5.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 2.0,\n",
       "  'node_info': 'leaf_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_0': {'cost_distance': {'cost_total_0_9': 24.0,\n",
       "   'cost_total_5_9': 19.0,\n",
       "   'cost_total_9_9': 15.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 4.0,\n",
       "  'node_info': 'root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_1': {'cost_distance': {'cost_total_0_9': 22.0,\n",
       "   'cost_total_5_9': 17.0,\n",
       "   'cost_total_9_9': 13.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_2': {'cost_distance': {'cost_total_0_9': 21.0,\n",
       "   'cost_total_5_9': 16.0,\n",
       "   'cost_total_9_9': 12.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_3': {'cost_distance': {'cost_total_0_9': 20.0,\n",
       "   'cost_total_5_9': 15.0,\n",
       "   'cost_total_9_9': 11.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_4': {'cost_distance': {'cost_total_0_9': 19.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 10.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_5': {'cost_distance': {'cost_total_0_9': 19.0,\n",
       "   'cost_total_5_9': 14.0,\n",
       "   'cost_total_9_9': 10.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 4.0,\n",
       "  'node_info': 'root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_6': {'cost_distance': {'cost_total_0_9': 17.0,\n",
       "   'cost_total_5_9': 12.0,\n",
       "   'cost_total_9_9': 8.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_7': {'cost_distance': {'cost_total_0_9': 16.0,\n",
       "   'cost_total_5_9': 11.0,\n",
       "   'cost_total_9_9': 7.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_8': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 6.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 3.0,\n",
       "  'node_info': 'sub_root_node',\n",
       "  'occupied_info': 'other'},\n",
       " 'position_9_9': {'cost_distance': {'cost_total_0_9': 15.0,\n",
       "   'cost_total_5_9': 10.0,\n",
       "   'cost_total_9_9': 6.0},\n",
       "  'cost_energy': 1.0,\n",
       "  'cost_time': 1.0,\n",
       "  'importance_info': 4.0,\n",
       "  'node_info': 'root_node',\n",
       "  'occupied_info': 'other'}}"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fig_dicts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 20.0, 'cost_total_9_9': 24.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "root_node\n",
      "4.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 20.0, 'cost_total_9_9': 24.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 18.0, 'cost_total_9_9': 22.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 13.0, 'cost_total_5_9': 18.0, 'cost_total_9_9': 22.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 21.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 12.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 21.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 20.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 20.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 10.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "root_node\n",
      "4.0\n",
      "{'cost_total_0_9': 10.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 8.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 7.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 7.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 6.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 6.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 6.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "root_node\n",
      "4.0\n",
      "{'cost_total_0_9': 6.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 21.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 14.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 21.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 21.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 14.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 21.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 12.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 9.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 9.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 8.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 8.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 6.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 6.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 5.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 5.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 20.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 20.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 20.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 20.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 13.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 12.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 12.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 10.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 9.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 9.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 9.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 9.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 7.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 7.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 6.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 11.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 6.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 11.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 16.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 16.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 14.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 13.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 13.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 10.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 10.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 11.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 8.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 11.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 7.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 7.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 17.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 17.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 14.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 14.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 12.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 9.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 9.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 5.0, 'cost_total_9_9': 9.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 8.0, 'cost_total_5_9': 5.0, 'cost_total_9_9': 9.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "root_node\n",
      "4.0\n",
      "{'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "root_node\n",
      "4.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 11.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 12.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 11.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "root_node\n",
      "4.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 16.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 16.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 16.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 16.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 14.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 14.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 13.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 13.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 13.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 13.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 11.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 14.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 11.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 10.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 10.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 10.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 10.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 8.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 8.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 5.0, 'cost_total_9_9': 7.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 10.0, 'cost_total_5_9': 5.0, 'cost_total_9_9': 7.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 13.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 13.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 12.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 12.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 12.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 12.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 10.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 10.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 9.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 14.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 9.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 9.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 14.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 9.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 7.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 12.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 7.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 6.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 6.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 21.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 14.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 21.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 14.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 21.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 14.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 21.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 14.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 12.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 12.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 11.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 11.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 11.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 11.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 9.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 9.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 8.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 8.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 8.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 8.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 6.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 6.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 5.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "leaf_node\n",
      "2.0\n",
      "{'cost_total_0_9': 12.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 5.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 24.0, 'cost_total_5_9': 19.0, 'cost_total_9_9': 15.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "root_node\n",
      "4.0\n",
      "{'cost_total_0_9': 24.0, 'cost_total_5_9': 19.0, 'cost_total_9_9': 15.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 22.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 13.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 22.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 13.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 21.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 12.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 21.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 12.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 11.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 11.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 10.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 10.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 10.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "root_node\n",
      "4.0\n",
      "{'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 10.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 8.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 8.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 7.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 7.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 6.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "sub_root_node\n",
      "3.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 6.0}\n",
      "{'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 6.0}}\n",
      "other\n",
      "1.0\n",
      "1.0\n",
      "root_node\n",
      "4.0\n",
      "{'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 6.0}\n"
     ]
    }
   ],
   "source": [
    "for item in fig_dicts.values():\n",
    "    print(item)\n",
    "    for item2 in item.values():\n",
    "        print(item2)\n",
    "#     for item2 in "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_items([('position_0_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 20.0, 'cost_total_9_9': 24.0}}), ('position_0_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 18.0, 'cost_total_9_9': 22.0}}), ('position_0_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 21.0}}), ('position_0_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 20.0}}), ('position_0_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}), ('position_0_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}), ('position_0_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}), ('position_0_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 7.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}), ('position_0_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 6.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}), ('position_0_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 6.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}), ('position_1_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 21.0}}), ('position_1_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 21.0}}), ('position_1_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}), ('position_1_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}), ('position_1_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}), ('position_1_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 9.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}), ('position_1_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}), ('position_1_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}), ('position_1_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 6.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}}), ('position_1_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 5.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}), ('position_2_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 20.0}}), ('position_2_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 20.0}}), ('position_2_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}), ('position_2_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}), ('position_2_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}), ('position_2_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}), ('position_2_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 9.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}), ('position_2_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 9.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}), ('position_2_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 7.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}), ('position_2_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 6.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 11.0}}), ('position_3_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}), ('position_3_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}), ('position_3_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}), ('position_3_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}), ('position_3_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}), ('position_3_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}), ('position_3_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}}), ('position_3_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}}), ('position_3_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 11.0}}), ('position_3_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 7.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}}), ('position_4_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}), ('position_4_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 18.0}}), ('position_4_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}), ('position_4_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}), ('position_4_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}), ('position_4_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 13.0}}), ('position_4_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}), ('position_4_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}), ('position_4_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 9.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}}), ('position_4_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 8.0, 'cost_total_5_9': 5.0, 'cost_total_9_9': 9.0}}), ('position_5_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 19.0}}), ('position_5_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 17.0}}), ('position_5_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 16.0}}), ('position_5_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 15.0}}), ('position_5_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}), ('position_5_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 14.0}}), ('position_5_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 12.0}}), ('position_5_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 11.0}}), ('position_5_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}}), ('position_5_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 10.0}}), ('position_6_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 16.0}}), ('position_6_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 16.0}}), ('position_6_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 14.0}}), ('position_6_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 13.0}}), ('position_6_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 13.0}}), ('position_6_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 11.0}}), ('position_6_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 10.0}}), ('position_6_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 10.0}}), ('position_6_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 8.0}}), ('position_6_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 10.0, 'cost_total_5_9': 5.0, 'cost_total_9_9': 7.0}}), ('position_7_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 15.0}}), ('position_7_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 15.0}}), ('position_7_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 13.0}}), ('position_7_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 12.0}}), ('position_7_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 12.0}}), ('position_7_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 10.0}}), ('position_7_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 9.0}}), ('position_7_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 14.0, 'cost_total_5_9': 9.0, 'cost_total_9_9': 9.0}}), ('position_7_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 7.0}}), ('position_7_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 11.0, 'cost_total_5_9': 6.0, 'cost_total_9_9': 6.0}}), ('position_8_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 21.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 14.0}}), ('position_8_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 21.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 14.0}}), ('position_8_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 12.0}}), ('position_8_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 11.0}}), ('position_8_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 18.0, 'cost_total_5_9': 13.0, 'cost_total_9_9': 11.0}}), ('position_8_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 9.0}}), ('position_8_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 8.0}}), ('position_8_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 8.0}}), ('position_8_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 13.0, 'cost_total_5_9': 8.0, 'cost_total_9_9': 6.0}}), ('position_8_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'leaf_node', 'importance_info': 2.0, 'cost_distance': {'cost_total_0_9': 12.0, 'cost_total_5_9': 7.0, 'cost_total_9_9': 5.0}}), ('position_9_0', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 24.0, 'cost_total_5_9': 19.0, 'cost_total_9_9': 15.0}}), ('position_9_1', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 22.0, 'cost_total_5_9': 17.0, 'cost_total_9_9': 13.0}}), ('position_9_2', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 21.0, 'cost_total_5_9': 16.0, 'cost_total_9_9': 12.0}}), ('position_9_3', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 20.0, 'cost_total_5_9': 15.0, 'cost_total_9_9': 11.0}}), ('position_9_4', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 10.0}}), ('position_9_5', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 19.0, 'cost_total_5_9': 14.0, 'cost_total_9_9': 10.0}}), ('position_9_6', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 17.0, 'cost_total_5_9': 12.0, 'cost_total_9_9': 8.0}}), ('position_9_7', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 16.0, 'cost_total_5_9': 11.0, 'cost_total_9_9': 7.0}}), ('position_9_8', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'sub_root_node', 'importance_info': 3.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 6.0}}), ('position_9_9', {'occupied_info': 'other', 'cost_time': 1.0, 'cost_energy': 1.0, 'node_info': 'root_node', 'importance_info': 4.0, 'cost_distance': {'cost_total_0_9': 15.0, 'cost_total_5_9': 10.0, 'cost_total_9_9': 6.0}})])"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fig_dicts.items()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['cost_', '_0_9']"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"cost_total_0_9\".split('total')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'cost_0_9_0_9'"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"cost_0_9\" + \"cost_total_0_9\".split('total')[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "dicts = {'position_0_0': {'cost_distance': {'cost_total_0_9': 15.0,\n",
    "   'cost_total_5_9': 20.0,\n",
    "   'cost_total_9_9': 24.0},\n",
    "  'cost_energy': 1.0,\n",
    "  'cost_time': 1.0,\n",
    "  'importance_info': 4.0,\n",
    "  'node_info': 'root_node',\n",
    "  'occupied_info': 'other'},\n",
    " 'position_0_1': {'cost_distance': {'cost_total_0_9': 13.0,\n",
    "   'cost_total_5_9': 18.0,\n",
    "   'cost_total_9_9': 22.0},\n",
    "  'cost_energy': 1.0,\n",
    "  'cost_time': 1.0,\n",
    "  'importance_info': 3.0,\n",
    "  'node_info': 'sub_root_node',\n",
    "  'occupied_info': 'other'}}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "def sort_by_value(dicts):\n",
    "    items=dicts.items()\n",
    "    backitems=[[v[1],v[0]] for v in items]\n",
    "    backitems.sort()\n",
    "    return [ backitems[i] for i in range(0,len(backitems))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[10.0, 'cost_total_1_9'],\n",
       " [15.0, 'cost_total_15_9'],\n",
       " [20.0, 'cost_total_0_9'],\n",
       " [20.0, 'cost_total_2_9']]"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dicts = {\"cost_total_15_9\": 15.0, \"cost_total_0_9\": 20.0, \"cost_total_2_9\": 20.0, \"cost_total_1_9\": 10.0}\n",
    "sort_by_value(dicts)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['0', '1']"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"cost_0_1_0_9\".split('_')[1:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'out'"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "flag = np.random.randint(0, 2, 1)\n",
    "'in' if flag == 0 else 'out'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['2', 2]"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(['2', 2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 1]"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[int(v) for v in \"cost_0_1_0_9\"[-7:].split('_')][:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[2, 3] in [[2, 3], [3, 4]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
